草庐IT

MyBatis 动态SQL

全部标签

c# - 抑制来自动态类型的 RuntimeBinderException 消息

我最近开始使用私有(private)NuGet服务器来管理我组织的内部库。这意味着为了进入库中我们自己的代码,我需要在调试选项中禁用“仅启用我的代码”,因为我们不再直接引用项目。这是一个非常庞大的MVC项目,除了ViewBag之外,它还使用动态类型和ExpandoObjects。每次使用动态类型时,我都会得到两个RuntimeBinderExceptions......这很多。从我读过的内容来看,这似乎是正常行为。它可能很正常,但没有用。我的第一个想法是在“调试”->“异常”对话框中禁用这个特定的异常。在那里找不到异常(exception)。我想不出任何方法能够走出直接引用的项目,同时

c# - 没有访客模式的动态调度

问题我正在使用一个已经存在的库,我无法访问它的源代码。这个库代表一个AST。我想复制此AST的部分内容,但在此过程中重命名对变量的引用。因为可以有一个AssignCommand-Object,它包含一个Expression-object,我希望能够用它自己的函数复制每个对象,这样我就可以递归地调用它们。但是,由于我无权访问库的代码,因此我无法添加诸如CopyAndRename(stringprefix)之类的方法。.因此,我的方法是创建一个函数Rename有几个重载。因此,我将有一个家庭功能如下:publicstaticCommandRename(Commandcmd,stringpr

c# - 如何使用动态 settings.Blah 而不是 AppSettings ["blah"]?

我知道如何在C#4.0中使用dynamic,但是,我不确定如何获取一些东西并使其动态化(我的技术术语)。例如,除了ConfigurationManager.AppSettings["blah"],我如何制作一个包装器,让我像动态一样使用它:settings.Blah? 最佳答案 您仍然需要一个入口点。但是,从那里开始的可能性非常灵活。这是一个演示动态调度有多强大的示例:publicabstractclassMyBaseClass{publicdynamicSettings{get{return_settings;}}privateS

c# - 如何在不安装 SQL Server Express Edition 的情况下在 Visual Studio 中添加 SQL Server 数据库文件 (.mdf)?

在VisualStudio2010项目中添加.mdf文件(SQLServer数据库)时出现以下错误ConnectionstoSQLServerdatabasefiles(.mdf)requireSQLServer2005ExpressorSQLServer2008Expresstobeinstalledandrunningonthelocalcomputer我不想安装SQLServerExpress(2005/2008)因为我已经安装了SQLServer2005企业版我正在使用VisualStudio2010Ultimate 最佳答案

c# - 使用 SQL Server 数据事件进行消息传递

在我们的组织中,我们有一个SQLServer2005数据库和相当数量的数据库客户端:网站(php、zope、asp.net)、富客户端(legacyfoxpro)。现在我们需要将核心数据库中的某些事件传递给其他系统(MongoDb、LDAP等)。消息传递范式似乎非常有能力解决此类问题。所以我们决定使用RabbitMQbroker作为中间件。从数据库中消费事件的问题起初似乎只有两种可能的解决方案:轮询数据库中的传出消息并将它们传递给消息代理。在某些表上使用触发器将消息传递到同一台机器上的代理。由于涉及定期执行sql时出现的延迟问题,我不喜欢第一个想法。但是基于事件的触发器方法有一个问题,

C#锁定SQL Server表的方法

我有一个C#程序需要对SQLServer表执行一组批量更新(20k+)。由于其他用户可以通过Intranet网站一次更新这些记录,因此我们需要构建具有锁定表功能的C#程序。一旦表被锁定以防止其他用户进行任何更改/搜索,我们将需要执行请求的更新/插入。由于我们要处理如此多的记录,我们不能使用TransactionScope(起初似乎是最简单的方法),因为我们的交易最终由MSDTCservice处理.我们需要使用另一种方法。根据我在Internet上阅读的内容,使用SqlTransaction对象似乎是最好的方法,但是我无法锁定表。当程序运行并且我单步执行下面的代码时,我仍然能够通过内部网

c# - 如何检查泛型参数在 .NET 4.0 中是否是动态的

我有一个类ObjectMapper..NET4.0中有什么方法可以判断typeof(T)是否存在?是dynamic?我希望能够在成员方法内部确定该类是否已初始化为newObjectMapper()与newObjectMapper(). 最佳答案 没有名为dynamic的CLR类型。C#编译器生成类型为object的所有动态值,然后调用自定义绑定(bind)代码来确定如何处理它们。如果使用了dynamic,它将显示为Object。 关于c#-如何检查泛型参数在.NET4.0中是否是动态的,

c# - Linq To SQL 附加/刷新实体对象

在LinqToSql中,更新我的一个实体Faculty时,我正在创建Faculty对象的一个​​新实例,然后使用用户提供的值初始化一些属性。p>如果我将这个新对象附加到实体集并提交更改,则我未设置的属性将采用它们是任何数据类型的默认值。如何刷新新对象,使已设置的属性保留其值,而未设置的属性从数据库中获取值?谢谢 最佳答案 你试过吗context.Refresh(RefreshMode.OverwriteCurrentValues,faculty);提交更改后,context是您的linq2sql数据上下文,faculty是您要刷新的

c# - 使用 LINQ-to-SQL 处理 where 子句中的空值

VisualStudio中的LINQ-to-SQL查询生成一个有错误的SQL查询。在LINQPad中,使用相同数据库(或DataContext)的相同LINQ查询运行得很好。LINQ查询varaccesDomaines=fromtindb.Accesswheret.IdUser==access.IdUtilisateurwheret.IdDomain!=nullwheret.IdRole==access.IdRolewheret.IdPlace==access.IdPlaceselectt;下面是生成的SQL中发生错误的一小部分:WHERE(...)AND([t3].[IdRole]=

c# - 动态创建类型并调用基类的构造函数

我需要动态创建一个类。大多数事情都运行良好,但我一直在生成构造函数。AssemblyBuilder_assemblyBuilder=AppDomain.CurrentDomain.DefineDynamicAssembly(newAssemblyName("MyBuilder"),AssemblyBuilderAccess.Run);ModuleBuilder_moduleBuilder=_assemblyBuilder.DefineDynamicModule("MyModule");publicstaticobjectGetInstance(thisTSourcesource,str